package com.xpffly.design.visitor.demo.service;

import com.xpffly.design.visitor.demo.service.impl.Cat;
import com.xpffly.design.visitor.demo.service.impl.Dog;
import com.xpffly.design.visitor.demo.service.impl.Mouse;
import com.xpffly.design.visitor.demo.service.impl.Pig;

/**
 * @Author: 午夜学徒
 * @Date: 2022/4/5 16:50
 * @Description：抽象类访问者角色
 */
public interface Person {
    /**
     * 定义可以访问的对象
     *
     * @param cat
     */
    void feed(Cat cat);

    /**
     * 定义可以访问的对象
     *
     * @param dog
     */
    void feed(Dog dog);

    /**
     * 定义可以访问的对象
     *
     * @param mouse
     */
    void feed(Mouse mouse);

    /**
     * 定义可以访问的对象
     *
     * @param pig
     */
    void feed(Pig pig);
}
